#pragma once
#include "cybertron/sensor/noise/TimeNoise.hpp"
#include "cybertron/sensor/noise/WhiteNoise.hpp"

CYBERTRON_BEGIN

// for flicker noise
class PinkNoise : public TimeNoise
{
public:
	PinkNoise(float correctionTime = 100, float sigma = 1.0f, float initialValue = 0.0f);
	PinkNoise(float correctionTime, float sigma, float sigmaAltitude, float initialValue);
	virtual ~PinkNoise();

	vec3 update() override;

protected:
	float m_correctionTime;
	WhiteNoise m_whiteNoise;
};

CYBERTRON_END